package cl.gob.minvu.catastro.ejb.imp;

import java.util.LinkedList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.LocalBean;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.jboss.logging.Logger;

import cl.gob.minvu.catastro.ejb.EncuestadorEJBRemote;
import cl.gob.minvu.catastro.model.Encuestador;

@Stateful
@LocalBean
public class EncuestadorEJB implements EncuestadorEJBRemote {
	
	private static final Logger logger = Logger.getLogger(EncuestadorEJB.class);
	
	@PersistenceContext(unitName = "appCatastro")
	private EntityManager em;

	@PostConstruct
	private void init() {
	}

	@Override
	public Encuestador find(Encuestador encuestador) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Encuestador> list(Encuestador encuestador) {
		List<Encuestador> encuestadores = new LinkedList<Encuestador>();
		
		try {
			encuestadores = em.createQuery("SELECT e FROM Encuestador e", Encuestador.class).getResultList();
		} catch (Exception e) {
			logger.error(e, e);
		}
		
		return encuestadores;
	}

	@Override
	public Boolean save(Encuestador encuestador) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Boolean update(Encuestador encuestador) {
		boolean result = false;
		
		try {
			Encuestador e = em.getReference(Encuestador.class, encuestador.getIdencuestador());
			e.setFechaterminovigencia(encuestador.getFechaterminovigencia());
			result = true;
			
		} catch (Exception e) {
			logger.error(e, e);
		}
		
		return result;
	}

	@Override
	public Boolean delete(Encuestador encuestador) {
		// TODO Auto-generated method stub
		return null;
	}

}
